<?php

namespace App\Models\Business;

// 引入模块
use Illuminate\Database\Eloquent\Model;

// 引入软删除
use  Illuminate\Database\Eloquent\SoftDeletes;


/**
 * 用户数据模型
 */
class Business extends Model
{
    // 使用软删除
    use SoftDeletes;
    // 设置当前模型对应的完整数据表名称
    protected $table = 'pre_business';

    protected $dateFormat = 'U';
 
    // 定义创建时间的字段
    const CREATED_AT = 'createtime';

    const UPDATED_AT = null;

    const DELETED_AT = 'deletetime';

    //允许批量赋值
    protected $guarded = [];

    // 追加字段  在当前用户模型里面追加自定义的字段
    protected $appends = [
        'avatar_text', // 头像
        'region',  //地区
    ];

    /*
        开头要求：get
        avatar_text写在骆峰式的命名 AvatarText
        结尾要求是Attribute
        获取器方法名称： get + 自定义字段 + Attribute
    */
    public function getAvatarTextAttribute()
    {
        $ConfigModel = new \App\Models\Config();
        $http = $ConfigModel->where('name', 'url')->value('value');

        // empty 判断当前变量是否为空, 为真表示变量是空
        $url = empty($this->attributes['avatar']) ?  $http . "/assets/img/avatar.png" : $http . $this->attributes['avatar'];
        return $url;
    }

    // 格式化省市地区
    public function getRegionAttribute()
    {
        // 获取地区模型
        $Regions = new \App\Models\Region();

        $region = '';
        // 省
        $province = empty($this->attributes['province']) ? '' : $this->attributes['province'];
        if ($province) {
            $province_text = $Regions->where('code', $province)->value('name');
            $region = $province_text;
        }
        // 市
        $city = empty($this->attributes['city']) ? '' : $this->attributes['city'];
        if ($city) {
            $city_text = $Regions->where('code', $city)->value('name');
            $region .= $city_text;
        }
        // 区
        $district = empty($this->attributes['district']) ? '' : $this->attributes['district'];
        if ($district) {
            $district_text = $Regions->where('code', $district)->value('name');
            $region .= $district_text;
        }

        return $region;
    }

    // 来源
    public function source()
    {
        return  $this->belongsTo('App\Models\Business\Source', 'sourceid', 'id');
    }
}
